home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / net_des.arc / DES3.DOC < prev    next >
Text File  |  1988-12-05  |  2KB  |  67 lines

  1.  
  2.  
  3.  
  4. DES(3)                 C LIBRARY FUNCTIONS                 DES(3)
  5.  
  6.  
  7.  
  8. NAME
  9.      desinit, setkey, endes, dedes, desdone - DES encryption
  10.  
  11. SYNOPSIS
  12.      desinit(mode) int mode;
  13.  
  14.      setkey(key) char *key;
  15.  
  16.      endes(block) char *block;
  17.  
  18.      dedes(block) char *block;
  19.  
  20.      desdone();
  21.  
  22. DESCRIPTION
  23.      These routines implement both standard and modified forms of
  24.      the  NBS Data Encryption Standard (DES). The user must first
  25.      call desinit with one of three operating modes:
  26.  
  27.      0 - Standard, vanilla DES.
  28.  
  29.      1 - DES with the initial and final permutations removed.  As
  30.      these permutations do not strengthen the algorithm, they are
  31.      widely regarded as having no purpose other than to slow down
  32.      software implementations.  Removing them speeds it up but of
  33.      course the algorithm is no longer standard and it  will  not
  34.      be compatible with hardware DES chips.
  35.  
  36.      2 - DES with the initial and final permutations removed, and
  37.      with  independent  48-bit subkeys for each of the 16 rounds.
  38.      Needless to say this is even less standard than mode 1,  but
  39.      if properly used (randomize ALL key bytes -- no padding!) it
  40.      should strengthen the algorithm.
  41.  
  42.      After calling desinit the user next calls setkey. In modes 0
  43.      and  1,  8 key bytes are expected, with the low order bit of
  44.      each key byte ignored (parity is not checked). This gives  a
  45.      56-bit key.  In mode 2, 128 key bytes are expected; the high
  46.      order 2 bits of each byte are ignored, giving a 768 bit key.
  47.      In  this  mode,  the first 8 bytes will be used in the first
  48.      round, the second 8 bytes in the second round, and so on.
  49.  
  50.      Once the key is set, the user may perform  in-place  encryp-
  51.      tion  and  decryption of 8-byte blocks of data with calls to
  52.      endes and dedes.
  53.  
  54.      To free up memory dynamically allocated by desinit the  user
  55.      may  call desdone. If further encryption or decryption is to
  56.      be done, desinit and setkey must be called again.
  57.  
  58. AUTHOR
  59.      Phil Karn, KA9Q, building  heavily  on  the  earlier  public
  60.      domain code by Jim Gillogly.
  61.  
  62.  
  63.                    Last change: 24 March 1987                   1
  64.  
  65.  
  66.  
  67.